#ifndef EYERWANDARTIST_EWAUIWIDGETVERTICALSCROLL_HPP
#define EYERWANDARTIST_EWAUIWIDGETVERTICALSCROLL_HPP

#include "EWAUIWidget.hpp"
#include "EWAUILayout.hpp"
#include "EWAUILayoutParams.hpp"
#include "EWAUIProgressBar.hpp"

namespace Eyer
{
    class EWAUIWidgetVerticalScroll : public EWAUIWidget
    {
    public:
        virtual int OnDraw() override;
        virtual int Draw(int level = 0) override;

        virtual bool MousePressEvent     (const Vec2I & pos) override;
        virtual bool MouseReleaseEvent   (const Vec2I & pos) override;
        virtual bool MouseMoveEvent      (const Vec2I & pos) override;

        virtual bool OnScrollEvent       (const double x, const double y) override;

    public:
        EWAUIWidgetVerticalScroll(EWAUILayoutParams width, EWAUILayoutParams height);
        ~EWAUIWidgetVerticalScroll();

    public:
        int AddContentWidget(const EyerSmartPtr<EWAUIWidget> & widget);

    public:
        EyerSmartPtr<EWAUILayout> contentLayout;
        EyerSmartPtr<EWAUIProgressBar> progressBar;

        Vec2I offsetXY;
    };
}

#endif //EYERWANDARTIST_EWAUIWIDGETVERTICALSCROLL_HPP
